﻿using System;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Ink;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using Hydra.Shell.Attributes;
using Hydra.Shell.Interfaces;
using System.Collections.Generic;
using SLControlLibrary;
using Hydra.Shell.Implementations;

namespace Hydra.UrlMon.Interfaces
{
    [Guid("2DD8D012-0742-4239-B53E-6B8E48772988")]
    public interface IUrlMonHost : IUnknown
    {
        Dictionary<Guid, IProtocolHandlerListItem> ProtocolHandlersList { get; }
        Dictionary<Guid, HydraServiceWrapper> LoadedHandlers { get; }
        bool IsHandlerInstalled(string scheme);
        bool IsHandlerLoaded(string scheme, out IUnknown ppHandler);
        bool IsHandlerInstalled(Guid guidHandler);
        bool IsHandlerLoaded(Guid guidHandler, out IUnknown ppHandler);
        HandlerLoadOperation LoadHandler(Guid guidHandler);
        HandlerLoadOperation LoadHandler(string scheme);
    }
}
